세트 자료형

✒️ 2025-05-19 10:27 내용 수정

Do it! 점프 투 파이썬(2017년 발행) 내용을 정리


중복을 허용하지 않고 순서가 없는 집합을 관리하기 위한 자료형

>>> a = set([1, 2, 3])
>>> a
{1, 2, 3}

>>> b = set("Hello")
>>> b
{'o', 'l', 'H', 'e'}

>>> c = set()
>>> c
set()
>>> a = set([1, 2, "a", "b"])

>>> b = list(a)
>>> b
[1, 2, 'b', 'a']

>>> b[0]
1

세트 연산

교집합 구하기

>>> a = set([1, 2])
>>> b = set([2, 3, 4])

>>> a & b
{2}
>>> type(a&b)
<class 'set'>

>>> a.intersection(b)
{2}

합집합 구하기

>>> a = set([1, 2])
>>> b = set([2, 3, 4])

>>> a | b
{1, 2, 3, 4}

>>> a.union(b)
{1, 2, 3, 4}

차집합 구하기

>>> a = set([1, 2])
>>> b = set([2, 3, 4])

>>> a - b
{1}
>>> a.difference(b)
{1}

>>> b - a
{3, 4}
>>> b.difference(a)
{3, 4}

세트 관련 함수

add

>>> a = set(["a", "b", "c"])

>>> a.add(1)
>>> a
{'c', 'b', 'a', 1}

>>> a.add("a")
>>> a
{'c', 'b', 'a', 1}

update

>>> a = set(["a", "b", "c"])
>>> a.update(["e", "f", "g"])
>>> a
{'f', 'a', 'g', 'c', 'b', 'e'}

>>> a.update("ABCD")
>>> a
{'A', 'D', 'f', 'a', 'C', 'g', 'B', 'c', 'b', 'e'}

remove

>>> a = set(["a", "b", "c", "e", "f"])
>>> a.remove("a")
>>> a
{'f', 'c', 'b', 'e'}